package cn.demoncat.util.pay.wxpay.entity;

/**
 * 微信支付 - 对账单详情
 * 
 * @author 延晓磊
 *
 * @since 2019年10月15日
 */
public class WxpayBill {

	/**
	 * 账单类型
	 * 
	 * 限：BillType.code
	 */
	private String type;
	/**
	 * 公众账号ID
	 * 
	 * 限：1 ~ 32
	 */
	private String appid;
	/**
	 * 商户号
	 * 
	 * 限：1 ~ 32
	 */
	private String mch_id;
	/**
	 * 子商户号，默认0
	 * 
	 * 限：1 ~ 32
	 */
	private String mch_id2;
	/**
	 * 用户在商户appid下的唯一标识 
	 * 
	 * 限：1 ~ 128
	 */
	private String openid;
	/**
	 * 微信订单号
	 * 
	 * 限：1 ~ 32
	 */
	private String transaction_id;
	/**
	 * 商户订单号
	 * 
	 * 限：0 ~ 32
	 */
	private String out_trade_no;
	/**
	 * 交易类型
	 * 
	 * 限：TradeType
	 */
	private String trade_type;
	/**
	 * 交易状态
	 * 
	 * 限：TradeStatus
	 */
	private String trade_state;
	/**
	 * 订单支付成功时间
	 * 
	 * 限：yyyy-MM-dd HH:mm:ss
	 */
	private String trade_time;
	/**
	 * 订单总金额，单位为分
	 * 
	 * 限：Int
	 */
	private String total_fee;
	/**
	 * 商品描述
	 * 
	 * 限：网站名称-商品名称
	 * 限：1 ~ 128
	 */
	private String body;
	/**
	 * 附加数据，在查询API和支付通知中原样返回
	 * 
	 * 限：0 ~ 127
	 */
	private String attach;
	/**
	 * 手续费
	 */
	private String fee;
	/**
	 * 费率
	 */
	private String fee_rate;
	
	/* ***************** 退款账单 ***************** */
	
	/**
	 * 微信退款单号
	 * 
	 * 限：1 ~ 32
	 */
	private String refund_id;
	/**
	 * 商户退款单号
	 * 
	 * 限：1 ~ 64
	 */
	private String out_refund_no;
	/**
	 * 申请退款金额，单位为分
	 * 
	 * 限：Int
	 */
	private String refund_fee;
	/**
	 * 退款状态
	 * 
	 * 限：RefundStatus
	 */
	private String refund_status;
	/**
	 * 退款申请时间
	 * 
	 * 限：yyyy-MM-dd HH:mm:ss
	 */
	private String refund_time;
	/**
	 * 退款成功时间
	 * 
	 * 限：yyyy-MM-dd HH:mm:ss
	 */
	private String refund_success_time;
	
	
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getTrade_time() {
		return trade_time;
	}
	public void setTrade_time(String trade_time) {
		this.trade_time = trade_time;
	}
	public String getAppid() {
		return appid;
	}
	public void setAppid(String appid) {
		this.appid = appid;
	}
	public String getMch_id() {
		return mch_id;
	}
	public void setMch_id(String mch_id) {
		this.mch_id = mch_id;
	}
	public String getMch_id2() {
		return mch_id2;
	}
	public void setMch_id2(String mch_id2) {
		this.mch_id2 = mch_id2;
	}
	public String getTransaction_id() {
		return transaction_id;
	}
	public void setTransaction_id(String transaction_id) {
		this.transaction_id = transaction_id;
	}
	public String getOut_trade_no() {
		return out_trade_no;
	}
	public void setOut_trade_no(String out_trade_no) {
		this.out_trade_no = out_trade_no;
	}
	public String getOpenid() {
		return openid;
	}
	public void setOpenid(String openid) {
		this.openid = openid;
	}
	public String getTrade_type() {
		return trade_type;
	}
	public void setTrade_type(String trade_type) {
		this.trade_type = trade_type;
	}
	public String getTrade_state() {
		return trade_state;
	}
	public void setTrade_state(String trade_state) {
		this.trade_state = trade_state;
	}
	public String getTotal_fee() {
		return total_fee;
	}
	public void setTotal_fee(String total_fee) {
		this.total_fee = total_fee;
	}
	public String getRefund_id() {
		return refund_id;
	}
	public void setRefund_id(String refund_id) {
		this.refund_id = refund_id;
	}
	public String getOut_refund_no() {
		return out_refund_no;
	}
	public void setOut_refund_no(String out_refund_no) {
		this.out_refund_no = out_refund_no;
	}
	public String getRefund_fee() {
		return refund_fee;
	}
	public void setRefund_fee(String refund_fee) {
		this.refund_fee = refund_fee;
	}
	public String getRefund_status() {
		return refund_status;
	}
	public void setRefund_status(String refund_status) {
		this.refund_status = refund_status;
	}
	public String getRefund_time() {
		return refund_time;
	}
	public void setRefund_time(String refund_time) {
		this.refund_time = refund_time;
	}
	public String getRefund_success_time() {
		return refund_success_time;
	}
	public void setRefund_success_time(String refund_success_time) {
		this.refund_success_time = refund_success_time;
	}
	public String getBody() {
		return body;
	}
	public void setBody(String body) {
		this.body = body;
	}
	public String getAttach() {
		return attach;
	}
	public void setAttach(String attach) {
		this.attach = attach;
	}
	public String getFee() {
		return fee;
	}
	public void setFee(String fee) {
		this.fee = fee;
	}
	public String getFee_rate() {
		return fee_rate;
	}
	public void setFee_rate(String fee_rate) {
		this.fee_rate = fee_rate;
	}
}
